#2025_1_11

###3.3 管理列表

#在你创建的列表中，元素的排列顺序通常是无法预测的，因为你并非总是能控制用户提供的数据的顺序。
#这虽然在大多数情况下是无法避免的，但你经常需要以特定的顺序诚信啊信息
#有时候希望保留列表元素的排列顺序，有时候有需要调整排列顺序。

### 3.3.1使用sort() 方法对列表进行永久排序

# Python 方法 sort() 让您能够较为轻松的对列表进行排序
# 假设你有一个汽车列表，并且你要让其中的汽车按字母顺序排序
# 为了简化任务，假设列表中的所有字母都是小写

cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort() # 使用.sort() 方法，将列表中的元素，按照首字母顺序从a——z 排列
print(cars)

# sort() 方法能永久的修改列表元素的排列顺序

# 还可以与字母顺序相反的顺序排列列表元素
# 只需像 sort() 方法传递参数 reverse = True 即可

cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse=True)
print(cars)

### 3.3.2 使用 sorted() 函数，注意是函数  对列表进行临时排序

# 要保留列表元素原来的排列顺序，并以特定的顺序呈现他们，可使用 sorted() 函数。

cars = ['bmw', 'audi', 'toyota', 'subaru']

print("Here is the original lis:")
print(cars)

print("\nHere is the sorted list:")
print(sorted(cars)) #按字母顺序 排列
print(sorted(cars, reverse=True))   # 按字母顺序反向排列

print("\nHere is the original list again:")
print(cars)

# 在并非所有字母都是小写时，按字母顺序排列列表要复杂一些，在确定排列顺序时，有多种解读大写字母的方式

###3.3.3 反向打印列表，使用 revers() 方法
# 但请注意，reverse() 方法不是按字母顺序相反的顺序排列列表元素
# 而是 反转 列表元素的排列顺序

cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.reverse()
print(cars)

### 3.3.4确定列表的长度———— len() 函数
# 使用len() 函数 可以快速获取列表的长度
cars = ['bmw', 'audi', 'toyota', 'subaru']
a = len(cars)
print(a)

# Python 在计算列表元素时，从1开始，因此在确定列表长度时，是几，就是几个元素

# print(cars[4]) # IndexError: list index out of range


































































































































































































































































































